1. Field of the Invention
The present invention relates generally to the Internet and more specifically to a method and apparatus for identifying a set of domain name registrations meeting a characteristic or characteristics and the name servers related to the identified domain name registrations.
2. Description of the Related Art
Each computer on the Internet is identified by a unique Internet protocol (xe2x80x9cIPxe2x80x9d) address. This address is a 32-bit number organized as four 8-bit values separated by periods such as 123.45.67.89. Such a numerical system, while useful as a routing address system for computer-to-computer communication, is not human user-friendly. Consequently, domain names are used to allow users to more easily identify and connect to a target computer on the network. These user-friendly domain names (or xe2x80x9chost namesxe2x80x9d), such as xe2x80x9cregister.comxe2x80x9d, are easy for users to remember and, since they map to a unique IP number, accurately identify the computer""s IP address. In such a domain name identification scheme, the domain name forms a part of the uniform resource locator (URL) that specifies the location of resources on the World Wide Web. The URL identifies the mechanism used to access the resource (e.g., http, ftp, etc.), the specific computer that houses the resource, and the specific name of the resource (such as a filename).
As with the underlying Internet address, domain names typically have a hierarchical organization, with the trailing portion of the domain name, such as .com, .net, org, .us, .uk or .jp, representing the top-level domain. Top-level domains include global top-level domains (gTLD) and country specific or country code top-level domains (ccTLD). The global top-level domains include .com, org, .net, .edu, .gov and .mil. Of these, .edu, .gov and .mil gTLD""s are restricted to use by entities meeting specific qualifications. Country code top-level domains are country specific in that they identify registrations within a given country. The specific country governs registration for the country code top-level domains. Some countries are xe2x80x9copenxe2x80x9d in that they allow any entity to register a domain name within its ccTLD. Other countries are xe2x80x9cclosedxe2x80x9d and only allow entities that meet restrictions such as residency to register domain names in that ccTLD. Most domain users presently use one or more of the .com, .net or .org gTLDs.
The domain name entered by a user is sent over the Internet to a global network of servers called the xe2x80x9cdomain name systemxe2x80x9d (DNS), which receives the domain name as a request and translates the domain name into the target computer""s numerical IP address. The numerical IP address is returned to the user""s computer to enable it to connect to the target computer. Typically, after the user enters the domain name, the rest of the process is invisible to the user until the user connects to the target computer. The domain name system consists of a collection of root servers or DNS Servers that provide a directory linking domain names with corresponding IP addresses. There are presently thirteen root servers worldwide that contain authoritative databases or xe2x80x9croot zone filesxe2x80x9d listing all top-level domains. The collection of root servers is centrally managed for all global top-level domains to ensure that each computer on the network can be uniquely identified by unique domain names and numerical addresses.
A xe2x80x9cregistryxe2x80x9d is an international organization or entity that is responsible for assigning domain names and Internet protocol addresses. Each country maintains its own registry, generally through a company or organization. The registry has the responsibility to record and update domain names and Internet protocol addresses, as well as the information associated with them, on the root servers. A registry is under contract from its respective government to control domain name registration. The registry may authorize other entities, known here as registrars, to conduct domain name registration and other aspects of the management of domain names and IP addresses. A xe2x80x9cregistrarxe2x80x9d is an organization or company that is authorized to provide registration services for all users of certain top-level domains, such as the .net, .org and .com global top-level domains. Registrars are presently authorized either by ICANN, the Internet Corporation for Assigned Names and Numbers, a U.S. governmental organization under the Department of Commerce, or by the registrar""s respective government to control domain name registration. A registrar is authorized by the registry to act as an agent of the registrar to process domain name registration. The registrar has the responsibility to create and maintain a Whois database and zone files for its customers. Examples of registrars presently include Register.com and Network Solutions, Inc., both authorized by ICANN.
A xe2x80x9cregistrantxe2x80x9d is the individual or organization to whom a specific domain name is registered with the registry. Once a registrant has registered a domain name, paid the associated fees and met certain conditions, the individual or organization holds the domain name for use for a specific period of time. The registrant can use the domain name for such purposes as web hosting and e-mail. In many cases, the registrant may incorporate one or more domain names into an organizational identity or business. As such, a registration to use a particular domain name can be viewed as a significant asset for certain registrants.
The xe2x80x9cshared registry systemxe2x80x9d (SRS) is a system that permits multiple registrars to provide registration services for the .com, .net and .org domains and such other top level domains as become available for commercial or public use. The system is a shared database that holds information about domain names and their authoritative name servers. The shared registry system updates the root zone file within the root servers with information about the domain names for the .com, .org and .net gTLDs about every twenty-four hours in typical operation. The SRS allows accredited registrars to enter information about newly registered domain names into the SRS, and the information about the newly registered domain names is then uploaded to the root servers. Accredited registrars can update name server information within the SRS for domain names for which they are recognized as registrar. Accredited registrars are registered with the SRS and access the SRS through a secure and authenticated communication channel, such as through a secure socket level encrypted communication link. The SRS facilitates the updating of domain name and IP address information and also provides a utility for identifying the registrar that registered a domain name, when the entry to the SRS was created and the authoritative name servers for the domain name.
An aspect of the present invention provides a method of identifying at least one domain name and determining at least one domain name server corresponding to the at least one domain name. The method includes downloading a root zone file, the root zone file comprising an authoritative list of domain names and associating each domain name with a registrar and at least one domain name server. A search characteristic is established and a string search performed in the downloaded root zone file. The method includes determining from the downloaded root zone file one or more domain names matching the search characteristic and, for each matching domain name, determining a corresponding registrar and at least one domain name server. Each matching domain name is stored in a data file, so that the data file associates each extracted domain name with the corresponding registrar and the at least one domain name server.
Another aspect of the invention provides a method of identifying all domain names associated with an entity and identifying zone information for each identified domain name. The method comprises downloading a root zone file, the downloaded root zone file comprising an authoritative list of domain names, the downloaded root zone file associating each domain name with a registrar and at least one domain name server. A search characteristic is established corresponding to an entity and a search is performed in the downloaded root zone file for the search characteristic. The method continues by determining from the downloaded root zone file one or more domain names matching the search characteristic and, for each matched domain name, a corresponding registrar and at least one domain name server. Each matching domain name is stored in a data file, so that the data file associates each matching domain name with the corresponding registrar and the at least one domain name server. The method continues by repeating, at least once, the successive processes of establishing a second search characteristic, identifying from the downloaded root zone file at least one additional domain name matching the second search characteristic and storing each additional matching domain name in the data file with the corresponding registrar and domain name information.